Test case attached.
Fixes #1920
gboolean contained_x;
gboolean contained_y;
- if (graphene_rect_contains_rect (outer_bounds, inner_bounds))
+ get_inner_rect (outer, &outer_inner);
+
+ if (graphene_rect_contains_rect (&outer_inner, inner_bounds))
{
*out_intersection = *inner;
return TRUE;
}
- get_inner_rect (outer, &outer_inner);
get_inner_rect (inner, &inner_inner);
contained_x = outer_inner.origin.x <= inner_inner.origin.x &&
--- /dev/null
+transform {
+transform: scale(8);
+child:container {
+
+rounded-clip {
+ clip: 0 0 50 50 / 30 0 0 0;
+ child: rounded-clip {
+ clip: 0 0 100 100 / 0;
+ child: color {
+ bounds: 0 0 50 50;
+ color: teal;
+ }
+ }
+}
+
+debug {
+ message: "Clipped-out area";
+ child: container {
+ color {
+ color: black;
+ bounds: 0 16 5 14;
+ }
+ color {
+ color: black;
+ bounds: 3 12 5 5;
+ }
+ color {
+ color: black;
+ bounds: 6 7 5 5;
+ }
+ color {
+ color: black;
+ bounds: 10 3 5 5;
+ }
+ color {
+ color: black;
+ bounds: 15 0 5 5;
+ }
+ color {
+ color: black;
+ bounds: 19 0 14 2;
+ }
+ }
+}
+
+
+}
+}
\ No newline at end of file
'scaled-cairo',
'shadow-in-opacity',
'texture-url',
+ 'color-matrix-identity',
+ 'clip-nested1',
]
renderers = [